/* 测试贴图并控制显示区域,用于直接无缝置顶图片
   目前参数可用于覆盖游聚头像,
   4人头像文件大学为350x169,3人为350x222,2人为350x334

   By setycyas @2024-12-04   
*/

/* 基本函数设定 */

;设置窗口,指定图片文件和显示参数,返回窗口句柄
setWindow(picFile, showOpt := ""){
  local picGui := Gui("+AlwaysOnTop")
  picGui.Add("Picture", "", picFile)
  picGui.show(showOpt)
  return picGui
}

;变换窗口状态,picGui是窗口句柄由setWindow函数返回所得,players决定变换参数,
;表示的是游聚中游戏的人数,不同人数参数不同
toggleWindow(picGui, players){
  static fullShow := True ;窗口状态是否完全显示
  static paramsFull := Map(4, "19-0 W350 H206", 
    3, "19-0 W350 H259", 2, "19-0 W350 H371") ;全显示时的参数
  static paramsPicOnly := Map(4, "19-37 W350 H169", 
    3, "19-37 W350 H222", 2, "19-37 W350 H334") ;只显示图片时的参数
  
  if (fullShow){
    WinSetRegion paramsPicOnly[players] , picGui
    fullShow := False
  } else {
    WinSetRegion paramsFull[players] , picGui
    fullShow := True
  }
}


/* 运行脚本与设定热键 */

;固定参数
PLAYERS := 2 ;游戏人数
PICTURES := Map(
  4, "D:\MyDocument\MyPic\_我的PS练习文件\游聚头像合成\[游聚生成]梦瑶_机甲世界_4人01.png",
  3,"D:\MyDocument\MyPic\_我的PS练习文件\游聚头像合成\[游聚生成]玄兵骑战_机甲世界_3人01.png",
  2,"D:\MyDocument\MyPic\_我的PS练习文件\游聚头像合成\[游聚生成]血战龙城_盗梦空间_2人01.png") ;各游戏人数对应的头像图片
SHOW_OPT := "x915 y60" ;初始显示参数
TOOGLE_KEY := "j" ;窗口变换热键
PIC_GUI := "" ;窗口句柄

;运行与绑定热键
PIC_GUI := setWindow(PICTURES[PLAYERS], SHOW_OPT)

j:: {
  toggleWindow(PIC_GUI, PLAYERS)
}
